// 本题为考试单行多行输入输出规范示例，无需提交，不计分。



// 碰撞

function bump(arr) {

    //保存返回值
    let stack = [];
    let preOp = true; //上一个符号是否相同
    // console.log(preOp, 'preOp');
    for (let i = 0; i < arr.length; i++) {
        let e = parseInt(arr[i]);
        if (preOp) {
            stack.push(e);
        } else {
            if (arr[i] > 0 && arr[i - 1] > 0) {
                preOp = false;
            }
            let p = stack.pop(); //取出栈的尾巴
            if (Math.abs(p) < Math.abs(e)) {
                //保留大的
                stack.push(e);
            } else {
                stack.pop();
                stack.push(p);
            }
        }

    }
    return stack;
}

console.log(bump([1, 2, 3, -3, -4, -1]));